Management of distributed computing systems is required in many application domains. For example, computational science, management of distributed database systems, management of distributed computing systems for bio-informatics, image analysis, or other applications in which very large amounts of data are to be processed or huge amounts of computational resources are required.
The use of distributed computing systems is becoming more widespread. Often computational tasks are decomposed into multiple subtasks which are executed on different computing systems or computational tasks are divided into fragments and the fragments are spread over multiple systems to be computed. Management of these distributed computing systems is typically carried out by a single entity which “owns” the computational task and there is a general need to simplify and improve the manner in which the management is achieved. For example, existing tools to manage scientific workflows enable a scientist to make use of remote computing resources to carry out in-silico experiments. However, it is difficult to enable the experiments to be managed by multiple users working on different computers at the same time in a simple and effective manner. In addition, existing approaches are often unsuited to novice users who have little or no knowledge of remote computing resources that may be used.
Existing software tools are available to manage scientific workflows which may use components on both remote and local machines in distributed computing systems. The workflows enable the specification and execution of ad-hoc in-silico experiments using informatics resources. Such a workflow-based approach allows scientists to describe and carry out their experimental processes in a structured, repeatable and verifiable way. There is a desire to improve the functionality of such software tools such that management of distributed computing systems is facilitated.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known distributed computing management systems.